package best.driver.android.common.model;

public interface IModel {

    /**
     * 数据是否加载完成
     *
     * @return 数据加载完成返回true, 否则返回false
     */
    public boolean isDataLoaded();

    /**
     * 是否正在加载数据
     *
     * @return 正在刷新数据返回true, 否则返回false
     */
    public boolean isLoadingData();

    /**
     * 是否正在加载更多数据
     *
     * @return 正在加载更多数据返回true, 否则返回false
     */
    public boolean isLoadingMoreData();

    /**
     * 数据是否过期, 检查过期可定期刷新数据,过期时间需自定义实现
     *
     * @return 数据过期返回true, 否则返回false
     */
    public boolean isDataOutdated();

    /**
     * 载入或者刷新数据
     */
    public void loadData();

    /**
     * 取消刷新或者载入更多数据操作
     */
    public void cancelLoad();

}
